Как установить LAMP на CentOS 7
Введение
Стек LAMP - это пакет, состоящий из операционной системы Linux, сервера Apache, базы данных MySQL (MariaDB) и языка программирования PHP. Каждый уровень стека представляет собой программное обеспечение с открытым исходным кодом, необходимое для разработки веб-приложений.
Что потребуется для начала работы?
Доступ к учетной записи пользователя с привилегиями sudo или root.
Окно терминала или командная строка.
Менеджеры пакетов yum и RPM включены по умолчанию.
Шаг 1. Обновите кеш репозитория пакетов
Перед тем, как начать сборку стека, обязательно обновите пакеты на своем сервере CentOS 7 с помощью команды:
sudo yum update
Шаг 2. Установите веб-сервер Apache
Поскольку у вас уже работает операционная система CentOS, первым шагом сборки стека LAMP является установка веб-сервера.
Самый простой способ установить Apache - использовать собственный менеджер пакетов CentOS, yum.
1. Установите Apache на Centos с помощью:
sudo yum install httpd
При появлении запроса подтвердите, что выполняете команду с привилегиями sudo.
В выводе будет показано, что пакет httpd был успешно установлен, как показано на изображении ниже:
2. Затем запустите Apache, выполнив следующую команду:
sudo systemctl start httpd.service
3. Проверьте, запущена ли служба, перейдя на общедоступный IP-адрес вашего сервера, в моём случае это 185.163.45.1хх.
В браузере должна отображаться тестовая веб-страница CentOS 7 Apache:
4. Наконец, настройте Apache для запуска при загрузке:
sudo systemctl enable httpd.service
Шаг 3. Установите MySQL (MariaDB) и создайте базу данных.
Чтобы организовать и хранить данные для вашего динамического веб-сайта, вам потребуется MariaDB.
Это ответвление системы управления базами данных MySQL с открытым исходным кодом.
1. Установите MariaDB с помощью команды:
sudo yum install mariadb-server mariadb
Когда появится запрос y/n, подтвердите, нажав y.
2. Теперь запустите MariaDB с помощью команды:
sudo systemctl start mariadb
Шаг 4. Запустите сценарий безопасности MySQL
По умолчанию MariaDB не имеет безопасных настроек.
Следовательно, вам необходимо настроить параметры, протестировать базу данных и удалить анонимных пользователей.
1. Начните с ввода команды:
sudo mysql_secure_installation
2. Вам будет предложено ввести пароль root для MariaDB (это не пароль root для вашего сервера).
Поскольку у вас еще нет пароля, нажатие Enter позволяет продолжить настройку.
3. Далее он задаст вам ряд вопросов. Чтобы обеспечить защиту вашей базы данных, ответьте на вопросы следующим образом:
Установить пароль root? [Y/n] Y
Новый пароль: введите пароль, который хотите использовать.
Повторно введите новый пароль: введите пароль из предыдущего поля еще раз.
Удалить анонимных пользователей? [Y/n] Y
Запретить удаленный вход root? [Y/n] Y
Удалить тестовую базу данных и получить к ней доступ? [Y/n] Y
Перезагрузить таблицы привилегий сейчас? [Y/n] Y
4. После ответа на вопросы в выходных данных будет отображаться сообщение о том, что ваша система очищается, и теперь установка должна быть безопасной.
Наконец, разрешите MariaDB запускаться при загрузке системы:
sudo systemctl enable mariadb.service
Шаг 5. Установите PHP
Как язык сценариев на стороне сервера, PHP является частью группы LAMP, которая обрабатывает код для отображения динамического содержимого.
После подключения к базе данных MySQL PHP будет получать информацию и обрабатывать ее для отображения на веб-сервере Apache.
1. Установите расширение MySQL вместе с PHP, снова используя установщик пакета yum, с помощью команды:
sudo yum install php php-mysql
Теперь вы должны получить приглашение Y/n, позволяющее подтвердить установку, введя Y.
2. Чтобы ваш веб-сервер Apache начал совместную работу с PHP, перезапустите сервер:
sudo systemctl restart httpd.service
Шаг 6. Протестируйте обработку PHP
Чтобы найти и обслужить веб-сайт, Apache должен сохранить файл в корневом веб-каталоге.
Apache помещает свой веб-сайт по умолчанию в этот каталог: /var/www/html/
Используя редактор nano или vim, вы можете перейти в этот каталог и запустить тест PHP на сервере CentOS 7.
1. Чтобы установить редактор vim, используйте эту команду:
sudo yum install vim
2. Используйте базовый сценарий PHP для создания файла info.php с помощью команды:
sudo vim /var/www/html/info.php
3. Откроется пустой текстовый файл, в который вы должны нажать кнопку I, скопировать и вставить следующее:
<?php
phpinfo ();
?>
4. Нажмите ESC (для выхода), SHIFT+Q и ввести qw+ENTER (чтобы сохранить изменения и закрыть файл).
5. Проверьте, работает ли PHP, открыв следующий адрес:
http://ip_address/info.php
ip_address это публичный IP-адрес вашего сервера который ваш провайдер вам дал, в моём случае это Mivocloud.
Если PHP настроен правильно, вы увидите это изображение в браузере:
6. Устанавливаем брандмауэр использую следующую команду:
sudo yum install iptables-services
После этого, выполняем следующие команды отвечающие за запуск, запуск при включение и информацию о брандмауэре:
sudo systemctl start iptables
sudo systemctl enable iptables
sudo systemctl status iptables
7. Если включен брандмауэр, вам нужно будет открыть маршрут для HTTP-трафика. Используйте команду:
sudo iptables -I INPUT 1 -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT
Затем выполните команду, чтобы открыть его для HTTPS-трафика:
sudo iptables -I INPUT 1 -p tcp -m tcp --dport 443 -m state --state NEW -j ACCEPT
И последнее, сохраняем изменения в брандмауэре и перезапускаем его, чтобы активировать новые настройки:
service iptables save
service iptables restart
Шаг 7. установите модули PHP
Чтобы оптимизировать возможности PHP, просмотрите названия и описания дополнительных модулей с помощью команды:
yum search php-
Чтобы получить подробную информацию на понятном языке о том, что делает каждый модуль, просмотрите более длинное описание с: yum info, за которым следует пробел и имя модуля.
Установите дополнительный пакет с sudo yum install, за которым следует пробел и имя модуля.
Шаг 8. Перезапускаем Apache
Чтобы изменения вступили в силу, перезапустите службу Apache с помощью команды:
sudo systemctl restart httpd
Подытожим
Следуя этому руководству, вы узнали, как установить каждый уровень стека LAMP в CentOS. Теперь вы готовы изучить все инновации, которые делает стек LAMP. если вы хотите начать протестировать стек LAMP то вам требуется лишь VDS сервер, на оборудований от Mivocloud всё работает быстро и без перебоев.